import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from "vuex-persistedstate";

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    cachePath: [""],
    bookShelfList: [],
    bookLookLists: [],
    downloadLists: [],
    historyList: [],
    collect:[],
    like:[],
    mypaly:[],
    map:[],
    login: false,
    vip: false,
    gift: false,
    guan: false
  },
  getters: {
  },
  mutations: {
    newCachePath(state, msg) {
      state.cachePath = msg;
    },
    searchFun(state, msg) {
      state.searchList.push(msg)
      console.log(msg);
      console.log(state.searchList);
    },
    bookLookFun(state, msg) {
      state.bookLookLists.unshift(msg)


      console.log(msg);
    },
    downloadFun(state, msg) {
      state.downloadLists.push(msg)
      console.log(msg);
    },
    historyFun(state, msg) {
      state.historyList.unshift(msg)
      console.log(msg);
    },
    loginFun(state, msg) {
      state.login = msg
    },
    vipFun(state, msg) {
      state.vip = msg
    },
    giftFun(state, msg) {
      state.gift = msg
    },
    guanFun(state, msg) {
      state.guan = msg
    },
    //删除
    delFun(state, msg) {
      state.downloadLists.splice(msg, 1)
    },

    delhistoryFun(state, msg) {
      state.historyList.splice(msg, 1)
    },
    deFun(state) {
      state.historyList.splice(0,state.historyList.length);
    },
    collectdel(state) {
      state.collect.splice(0,state.collect.length);
    },
    collectFun(state, msg) {
      state.collect.push(msg)
      console.log(msg);
    },
    collectFundel(state, msg) {
      state.collect.splice(msg, 1)
    },
    likeFun(state, msg) {
      state.like.push(msg)
      console.log(msg);
    },
    likeFundel(state, msg) {
      state.like.splice(msg, 1)
    },
    likedel(state) {
      state.like.splice(0,state.like.length);
    },
    palyFun(state, msg) {
      state.mypaly.unshift(msg)
      console.log(msg);
    },
    palydel(state) {
      state.bookLookLists.splice(0,state.bookLookLists.length);
    },
    mypalydel(state, msg) {
      state.bookLookLists.splice(msg, 1)
    },

  },
  actions: {
  },
  modules: {
  },
  plugins: [
    createPersistedState({
      // 存储方式：localStorage、sessionStorage、cookies
      storage: window.localStorage,
      // 存储的 key 的key值
      key: "store",
      render(state) {
        // 要存储的数据：本项目采用es6扩展运算符的方式存储了state中所有的数据
        return { ...state };
      }
    })
  ]
})
